/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Logica.Comandos;

import AccesoDatos.Fabricas.DAO;
import Logica.Fabricas.Comando;
import ObjetoDominio.ArchivoXML;
import ObjetoDominio.Servidor;
import ObjetoDominio.Usuario;
import Proxy.ProxyUsuario;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

/**
 *Comando que valida las credenciales de un usuario
 * @author guzmle
 */
public class ComandoValidarUsuario implements Comando<Boolean> {

    private Usuario _usuario;
    private Socket _cliente;
    
    public ComandoValidarUsuario(Socket cliente, Usuario usuario){
        _cliente = cliente;
        _usuario = usuario;
    }
    /**
     * Metodo que ejecuta la accion de validar un usuario
     */
    @Override
    public Boolean Ejecutar() {
        try {
            Servidor servidor = new Servidor();
            servidor.setViaComunicacion(_cliente);
            boolean respuesta = 
                    DAO.ObtenerDAO(DAO.Opciones.Local).ObtenerDAOUsuario(null).
                    ValidarUsuario(_usuario);
            DAO.ObtenerDAO(DAO.Opciones.socket).ObtenerDAOUsuario(servidor).
                    EnviarValidacionUsuario(respuesta);
            return true;
        } catch (Exception e) {
            return false;
        }
    }
    
}
